Toy robot

ABSTRACT

A toy robot includes a storage system, a player, an instruction generator, a drive module, an interface, and an update unit. The storage system is arranged for storing songs and motion control programs corresponding to each song. The player is arranged for playing the songs. The instruction generator is configured for generating motion control instructions based on the motion control programs. The drive module drives movable parts of the toy robot to execute corresponding motion patterns according to the motion control instructions. The interface is arranged for receiving motion control programs from an external electronic device. The update unit is configured for storing the motion control programs to the storage system.

BACKGROUND

1. Field of the Disclosure

Embodiments of the present disclosure relate to robots, and particularlyto an intelligent toy robot that is capable of moving according tomusic.

2. Description of Related Art

Robots, particularly intelligent robots, are popular. An intelligentrobot is capable of performing programmed tasks, such as moving around,operating a mechanical arm, etc., automatically. Recent intelligent toyrobots have the capability of rhythmic dancing. Because motion patternwith respect to a particular rhythm must be predetermined, rhythmicmotions of the intelligent toy robot are limited to the correspondingpreprogrammed audio output. Thus toy robots pre-programmed with limitedand non-interactive motion capability are boring and will attract theinterest of the observer only for a limited time.

Therefore, an improved toy robot is needed to address the aforementioneddeficiency and inadequacies.

SUMMARY

A toy robot, in accordance with an embodiment, includes a plurality ofexecution parts, a storage system, a player, an instruction generator, adrive module, an interface, and an update unit. The storage system isarranged for storing a plurality of songs and motion control programs.The player is arranged for playing one of the plurality of songs inresponse to a selection input. The instruction generator is configuredfor generating motion control instructions based on one of the pluralityof motion control programs in response to the selection input. The oneof the plurality of motion control programs is associated with the oneof the plurality of songs. The drive module is arranged for driving theplurality of execution parts to execute corresponding motion patternsaccording to the motion control instructions. The interface is arrangedfor receiving at least one motion control program from an externalelectronic device. The update unit is configured for storing the atleast one motion control program to the storage system.

Other advantages and novel features of the present invention will becomemore apparent from the following detailed description of preferredembodiment when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a toy robot in accordance with a firstembodiment of the present disclosure.

FIG. 2 is a diagram showing a motion control process of the toy robot ofFIG. 1.

FIG. 3 is a block diagram of a toy robot in accordance with a secondembodiment of the present disclosure.

FIG. 4 is a block diagram of a graphical user interface showing a motiondesign icon in accordance with an embodiment of the present disclosure.

FIG. 5 is a schematic diagram of a graphical user interface of themotion design icon of FIG. 4.

FIG. 6 is a block diagram of a toy robot in accordance with a thirdembodiment of the present disclosure.

FIG. 7 is a flowchart of a control method for a toy robot in accordancewith an embodiment of the present disclosure.

DETAILED DESCRIPTION OF CERTAIN INVENTIVE EMBODIMENTS

References will now be made to the drawings to describe certaininventive embodiments of the present disclosure.

Referring to FIG. 1, a toy robot 300 in accordance with a firstexemplary embodiment is illustrated. The toy robot 300 is capable ofplaying music, executing a series of complicated moving sequencescomprised of many motion patterns according to the music, such asdancing, exercising, practicing Kung fu, etc. The toy robot 300 isfurther capable of performing programmed motion patterns that ismanually arranged/designed. The toy robot 300 may be in the shape of ahuman being or an animal.

The toy robot 300 may include an input unit 10, a processor 20, astorage system 30, a control unit 40, an instruction generator 50, adrive module 60, a plurality of execution parts 70, an interface 80, anupdate unit 90, a player 100, and a speaker 110.

The storage system 30 is connected to the control unit 40 and the updateunit 90. The storage system 30 may include a music database 32configured for storing a plurality of songs, and a program database 34configured for storing a plurality of motion control programs. Each ofthe plurality of songs may include a song identifier (ID, a song namefor example) and audio information. Each of the plurality of motioncontrol programs may include a program identifier (a program name forexample), motion patterns, and time information for each motion pattern.Parameters of each of the motion patterns may include a patternidentifier of each of the motion patterns (a pattern name for example),an identifier of one of the plurality of execution parts 70 arranged toexecute each of the motion patterns, motion trace information, a motionrate, and a motion time period. For example, in a motion pattern named“shake head”, the parameters may include “shake head”, “head”,“left-right rotation”, “a millimeter per second”, and “ten seconds”.

There is a one-to-one relationship between the plurality of motioncontrol programs and the plurality of songs. Each of the plurality ofmotion control programs is associated with a corresponding one of theplurality of songs via the program identifier. In this embodiment, theprogram identifier is the same as the song identifier of an associatedsong. And the time information for each of the motion patterns isassociated with time information of the associated song.

The input unit 10 is arranged for receiving input signals, and isconnected to the processor 20. The input signals include selectioninputs for selecting one of the plurality of songs and acorresponding/associated motion control program from the storage system30. In this embodiment, because the program identifier of the motioncontrol program is the same as the song identifier of an associatedsong, each of the selection inputs may only include the song identifierof the selected song. The input unit 10 may be a keyboard, a touchscreen, a handwriting input unit (such as a drawing tablet or atablet-PC), or a remote control.

The processor 20 is arranged for performing programmed tasksautomatically according to the input signals received by the input unit10. The processor 20 communicates with other components of the toy robot300 and controls the other components.

The control unit 40 is connected to the processor 20, the storage system30, the player 100, and the instruction generator 50. The control unit40 is configured for reading/accessing the selected song and theselected motion control program from the storage system 30 according tothe selection input. The control unit 40 is further configured forsending the selected song and the selected motion control program to theplayer 100 and the instruction generator 50 respectively.

The player 100 is arranged for playing the selected song when enabled.In detail, the player 100 decodes the digital audio information, fromthe control unit 40, into analog signals and sends the analog signals tothe speaker 110. The speaker 110 is configured for converting the analogsignals into audible sound.

The instruction generator 50 is further connected to the drive module 60and the processor 20. The instruction generator 50 is configured forgenerating motion control instructions based on the selected motioncontrol program. Each of the motion control instructions may includeparameters of a motion pattern, and the time information at which themotion pattern is executed. The instruction generator 50 is furtherconfigured for generating a finish signal when all the motion controlinstructions are completed, and sending the finish signal, via theprocessor 20, to the player 100 and the motion control instructions tothe drive module 60. The finish signal is used for signaling theprocessor 20 to enable the player 100, such that the player 100 startsprocessing/reproducing the selected song.

In this embodiment, the player 100 and the instruction generator 50operate synchronously. Each of the motion control instructions is sentaccording to the time information in the motion control instruction.Whenever the player 100 is disabled, the processor 20 will stop theinstruction generator 50.

Referring also to FIG. 2, a diagram showing a motion control process ofthe toy robot 300 is illustrated. In the motion control process, a time(T) may synchronize with a playing time of a corresponding song. At timepoint 1 (TP1, 10 seconds for example), a motion control instruction 1(MCI1), for controlling the toy robot 300 to perform a motion pattern 1named “lift right leg,” is sent to the drive module 60, and a MCI2instruction, for controlling the toy robot 300 to perform a motionpattern 2 named “clap hands,” is sent to the drive module 60. At TP2 (20seconds for example), a MCI3 instruction, for controlling the toy robot300 to perform a motion pattern 3 named “shake head,” is sent to thedrive module 60, and another MCI2 is sent to the drive module 60. At TPN(N could be any whole number, 3 minutes for example), a MCINinstruction, for controlling the toy robot 300 to perform a motionpattern 4 named “hands on hip,” is sent to the drive module 60, andanother MCI3 instruction is sent to the drive module 60. Other MCIinstructions may also be sent at each time point.

The drive module 60 is arranged for driving the plurality of executionparts 70 to execute corresponding motion patterns according to themotion control instructions. The drive module 60 may include a pluralityof motors connected to corresponding execution parts 70. The pluralityof execution parts 70 may be limbs or other protuberances or parts ofthe toy robot 300, such as legs, arms, a head, a mouth, and a waist. Theexecution parts 70 are rotatably connected with each other.

The interface 80 is arranged for receiving one or more songs and motioncontrol programs corresponding to the one or more songs from an externalelectronic device 200. The interface 80 may also receive one or moremotion control programs from the external electronic device 200 wherebythe one or more motion control programs are associated withcorresponding song(s) stored in the storage system 30. The externalelectronic device 200 may be a computer, a memory card, or a mobile harddisk.

The update unit 90 is configured for storing or updating the songs andmotion control programs received via the interface to the storage system30. The update unit 90 may further have a capability of judging whetherone of the received motion control programs is associated with one ofthe plurality of songs stored in the storage system 30 or the externalelectronic device 200. If not, the update unit 90 may send an alertsignal to the processor 20 for controlling the speaker 110 to output anaudible alert signal.

To sum up, the toy robot 300 has the capability of executing a series ofmotion patterns at predetermined time points automatically. The toyrobot 300 also has a capability of updating the songs and thecorresponding motion control programs stored in the storage system 30.The motion control programs can be designed externally by a user. Themotion patterns performed during a song can be updated. Thus, it is moreinteresting and more life like.

In other embodiments, the toy robot 300 may further include a displayfor displaying a song name and audio information of a current playingsong.

Referring also to FIG. 3, a toy robot 400 in accordance with a secondexemplary embodiment is illustrated. The toy robot 400 has a similarconfiguration and function to the toy robot 300. In this embodiment,when compared with the toy robot 300, the toy robot 400 may include aprogram generator 120 and a display unit 130. The storage system 30, inaddition to a program database 34 and a music database 32, includes aparameter database 36. The toy robot 400 is capable of playing music andexecuting a series of complicated moving sequences comprised of manymotion patterns according to the music. The toy robot 400 is furthercapable of generating new motion control programs or editing originalmotion control programs according to design inputs received via theinput unit 10, such that the toy robot 400 can execute new movingsequences.

The parameter database 36 is arranged for storing parameters of aplurality of all kinds of motion patterns. Similar to the toy robot 300,the parameters of each of the motion patterns may include a patternidentifier, an identifier of an execution part 70 arranged to executethe motion pattern, motion trace information, a motion rate, and amotion time period.

The program generator 120 is configured for generating new motioncontrol programs and editing original motion control programs inresponse to the design inputs received through the input unit 10 andstoring the generated programs into the program database 34 via theupdate unit 90. The design inputs may include an identifier input fordetermining a program identifier, pattern inputs for determining motionpatterns, and time inputs for determining time information for eachmotion pattern. In this embodiment, if the program identifier of the newprogram is the same as a stored song name of one of the plurality ofsongs stored in the music database 32, the new program will beassociated with the stored song, and the original motion control programassociated with the stored song will be replaced with the new program.

Referring also to FIG. 4, in this embodiment, the display unit 130 maydisplay a graphical user interface (GUI) showing a song selection icon132 and a motion design icon 134.

The song selection icon 132 is used for determining one of the pluralityof songs that will be processed/reproduced by the player 100, and acorresponding/associated motion control program that will be executed bythe instruction generator 50. A song list (not shown) may be shown onthe display unit 130 by clicking on the song selection icon 132. Theselection input may be generated by clicking on an icon of a song in thesong list.

The motion design icon 134 is used for determining the design inputs forgenerating the new motion control program or editing an original motioncontrol program. Referring also to FIG. 5, another GUI interface 136 maybe shown by clicking on the motion design icon 134. In the embodiment,the GUI interface 136 may show three dialog boxes 1360, 1362, 1364, andfour control buttons “Save”, “Delete”, “OK”, and “Cancel”. Each of thethree dialog boxes has a pull-down menu button. The three dialog boxes1360, 1362, 1364 are used for selecting a song, selecting a time point,and selecting motion patterns, respectively.

A program generating/editing method may include the following steps.

In a first step, a drop down menu (not shown) showing a song list may beinvoked by clicking on the pull-down menu button of the dialog box 1360.A song in the song list may be selected, and the identifier inputincluding a song name of the selected song may be stored in the programgenerator 120.

In a second step, a drop down menu showing a time schedule may beinvoked by clicking on the pull-down menu button of the dialog box 1362.The time schedule corresponds to the play time length of the songselected in the first step. A time point may be selected, and the timeinput including the selected time point may be generated. In otherembodiments, the time point can be inputted by using a number keyboard.

In a third step, a drop down menu showing a motion pattern list may bedisplayed by clicking on the pull-down menu button of the dialog box1364. One or more motion patterns may be selected or changed, and thepattern input including the selected motion patterns may be generated.

Whenever a time point and motion patterns to be executed at the timepoint are determined, the time input and the pattern input may be storedin the program generator 120 by clicking on the control button “Save”,and the processor 20 may access corresponding parameters of the motionpatterns in the pattern input and send the parameters to the programgenerator 120. Other time inputs and pattern inputs can be determined byproceeding to the second and third steps.

In a fourth step, when all the time information and motion patterns forthe motion control program are determined, the control button “OK” maybe clicked, and the motion control program will be generated accordingto all the design inputs (including the identifier input, the timeinputs, and the pattern inputs) and the parameters of the motionpatterns.

In a fifth step, the update unit 90 stores the motion control program inthe program database 34.

Similar to the toy robot 300, songs and motion control programs storedin the toy robot 400 may be updated through interface 80 and the updateunit 90.

Referring also to FIG. 6, a toy robot 500 in accordance with a thirdexemplary embodiment is illustrated. The toy robot 500 has a similarconfiguration and function to the toy robot 400. In this embodiment,compared with the toy robot 400, the toy robot 400 may further include aparameter editor 140. The toy robot 500 is further capable of generatingnew parameters for new motion pattern(s), or amending originalparameters of original motion patterns in the storage system 30.

The parameter editor 140 is configured for generating or editingparameters of motion patterns in response to setting inputs receivedthrough the input unit 10. The setting inputs may include a patternidentifier of a motion pattern (name of the motion pattern for example),an identifier of an execution part 70 arranged to execute the motionpattern, motion trace information, a motion rate, and a motion timeperiod. Thus, the toy robot 500 may execute new motion patterns andbring more fun.

Referring to FIG. 7, a control method for the toy robot 300, or 400, or500 is illustrated. The control method may include the following steps.

In step 602, a selection input is received via the input unit 10. Theselection input includes a name of a song.

In step 604, the control unit 40 reads/accesses the song from thestorage system 30.

In step 606, the control unit 40 judges whether there is an associatedmotion control program in the storage system 30. If not, the procedureproceeds to step 608. If yes, the procedure proceeds to step 610.

In step 608, the song is sent to the player 100, and played by theplayer 100.

In step 610, the control unit 40 reads/accesses the associated motioncontrol program from the storage system 30, and sends the song and theassociated motion control program to the player 100 and the instructiongenerator 50 respectively.

In step 612, the instruction generator 50 generates motion controlinstructions according to the motion control program.

In step 614, the player 100 plays the song, and the drive module 60drives the execution parts 70 to execute corresponding motion patternsaccording to the motion control instructions.

It is to be understood, however, that even though numerouscharacteristics and advantages of the present disclosure have been setforth in the foregoing description, together with details of thestructure and function of the present disclosure, the present disclosureis illustrative only, and changes may be made in detail, especially inmatters of shape, size, and arrangement of parts within the principlesof the present disclosure to the full extent indicated by the broadgeneral meaning of the terms in which the appended claims are expressed.

1. A toy robot, comprising: a plurality of execution parts; a storagesystem for storing a plurality of songs and a plurality of motioncontrol programs; a player for playing one of the plurality of songs inresponse to a selection input; an instruction generator for generatingmotion control instructions based on one of the plurality of motioncontrol programs in response to the selection input, the one of theplurality of motion control programs is associated with the one of theplurality of songs; a drive module for driving the plurality ofexecution parts to execute corresponding motion patterns according tothe motion control instructions; an interface for receiving at least onemotion control program from an external electronic device, the at leastone motion control program is associated with a corresponding one ormore of the plurality of songs; and an update unit for storing the atleast one motion control program to the storage system.
 2. The toy robotas claimed in claim 1, further comprising a control unit for accessingthe one of the plurality of songs and the one of the plurality of motioncontrol programs in response to the selection input, and sending the oneof the plurality of songs and the one of the plurality of motion controlprograms to the player and the instruction generator respectively. 3.The toy robot as claimed in claim 2, further comprising a processor forenabling the player and for controlling the instruction generator tosend the motion control instructions to the drive module when the motioncontrol instructions is completed.
 4. The toy robot as claimed in claim2, wherein each of the plurality of motion control programs comprises aprogram identifier, motion patterns, and time information for executingthe motion patterns, the program identifier is associated with acorresponding one of the plurality of songs.
 5. The toy robot as claimedin claim 4, wherein the program identifier of each of the plurality ofmotion control programs is the same as a song identifier of thecorresponding one of the plurality of songs.
 6. The toy robot as claimedin claim 4, wherein each of the motion control instructions correspondsto one of the motion patterns, comprises parameters of the one of themotion patterns, and comprises of time information for executing the oneof the motion patterns.
 7. The toy robot as claimed in claim 6, whereinthe parameters of the one of the motion patterns comprise a patternidentifier, an identifier of one of the plurality of executing partsarranged to execute the one of the motion patterns, motion traceinformation, a motion rate, and a motion time period.
 8. The toy robotas claimed in claim 1, wherein the storage system further storesparameters of a plurality of motion patterns, parameters of one of theplurality of motion patterns comprise a pattern identifiers, anidentifier of one of the plurality of executing parts arranged toexecute the one of the plurality of motion patterns, motion traceinformation, a motion rate, and a motion time period.
 9. The toy robotas claimed in claim 8, further comprising a display unit for displayinga graphical user interface showing a motion design icon.
 10. The toyrobot as claimed in claim 9, wherein three dialog boxes are shown whenthe motion design icon is clicked, the three dialog boxes are used forselecting one of the plurality of songs from the storage system,selecting a time point, and selecting one or more of the plurality ofmotion patterns respectively according to design inputs.
 11. The toyrobot as claimed in claim 9, wherein the graphical user interfacefurther shows a song selection icon.
 12. The toy robot as claimed inclaim 9, further comprising a program generator for generating motioncontrol programs in response to design inputs.
 13. The toy robot asclaimed in claim 12, wherein the update unit stores the motion controlprograms generated by the program generator to the storage system. 14.The toy robot as claimed in claim 12, wherein the design inputs comprisean identifier input for determining a program identifier, pattern inputsfor determining motion patterns, and time inputs for determining timeinformation for each motion pattern.
 15. The toy robot as claimed inclaim 1, further comprising an input unit for receiving the selectioninput, the selection input comprises a song identifier of the one of theplurality of songs.
 16. A toy robot, comprising: a plurality ofexecution parts; a storage system for storing parameters of a pluralityof motion patterns, a plurality of songs and a plurality of motioncontrol programs; an input unit for receiving a selection input anddesign inputs, the design inputs comprise information of a programidentifier, motion patterns, and time information for each motionpattern, the identifier is associated with a corresponding one of theplurality of songs; a player for playing one of the plurality of songsin response to the selection input; an instruction generator forgenerating motion control instructions based on one of the plurality ofmotion control programs in response to the selection input, the one ofthe plurality of motion control programs is associated with the one ofthe plurality of songs; a drive module for driving the plurality ofexecution parts to execute corresponding motion patterns according tothe motion control instructions; a program generator for generating anew motion control program in response to the design inputs; and anupdate unit for storing the new motion control program to the storagesystem.
 17. The toy robot as claimed in claim 16, wherein parameters ofone of the plurality of motion patterns comprise a pattern identifier,an identifier of one of the plurality of executing parts arranged toexecute the one of the motion patterns, motion trace information, amotion rate, and a motion time period.
 18. The toy robot as claimed inclaim 17, further comprising a display unit for displaying a graphicaluser interface showing a motion design icon and a song selection icon.19. The toy robot as claimed in claim 18, further comprising a parametereditor for generating or editing parameters of the plurality of motionpatterns in response to setting inputs.
 20. The toy robot as claimed inclaim 19, wherein the setting inputs comprises information of a patternidentifier of a motion pattern, an identifier of one of the plurality ofexecution parts arranged to execute the motion pattern, motion traceinformation, a motion rate, and a motion time period